SPSS详细操作:1:n倾向性评分匹配(PSM)
在上一篇文章中,我们向大家介绍了如何给SPSS安装插件,拓展出1:n倾向性评分匹配的功能。详见:满满干货!给SPSS插上1:n倾向性评分匹配(PSM)的翅膀
在今天的内容中,我们就继续给大家介绍一下,如何使用SPSS进行简单的几步操作,就能轻松搞定高大上的1:n倾向性评分匹配。
一、问题与数据
假设某位心内科医生在门诊连续收集了170名就诊患者,其中冠心病(CHD)患者24名,146名对照,并记录了他们的性别、年龄、BMI、LDL-C等信息,拟探讨LDL-C水平与冠心病的关系(此处不对该研究的设计方法进行评价)。数据格式如下:
注意:这里有2点大坑需要大家值得关注:
(1) 所有的变量名须是英文名称,不要使用中文,否则会导致后面回归模型建模失败;
(2) 所有变量不能有缺失值,包括拟进行匹配和不进行匹配的全部变量,都不允许出现缺失值。
首先该医生对数据进行了初步分析,将病例组和对照组之间的各个因素进行比较,结果发现两组各因素间差异均有统计学显著性。但为了保证两组人群之间各混杂因素能够均衡可比,该医生拟采用1:n倾向性评分匹配的方法来对两组人群进行匹配。
表1. 倾向性评分匹配前两组间各个因素的比较结果
二、SPSS PS Matching拓展功能操作
1. 选择analyze → PS Matching
2. 在Propensity Score Matching对话框中
(1) 将分组变量CHD选入Binary Treatment Indicator中,其中1代表病例组,0代表对照组,且变量类型必须定义为尺度变量。
(2) 将用于计算倾向性评分的协变量age、BMI、gender选入Covariates,将与处理因素无关的协变量选入Additional Covariates。
注意:一般根据结局变量与混杂变量构建二分类logistic回归模型,进行逐步回归,将进入模型的变量选入Covariates,剔除的变量选入Additional Covariates。
(3) 设定Caliper值,为0~1之间,该值设置越大,越接近于1,就越容易找到匹配的对象,但结果就越容易出现不平衡;该值设置越小越接近于0,匹配就越严格,但是符合匹配要求的患者就少了,最终导致研究的统计效能降低,很有可能找不到匹配的对象。
本例中暂且设置为0.1,也就是说如果一个病例组研究对象患有冠心病的概率为0.8,那么与之匹配的对照组研究对象患有冠心病的概率须在0.7-0.9之间。
3. 点击Plot and Output选项
在Plots下勾选Histogram of standardized differences、Dotplot of standardized mean differences、Line plot of individual differences,分别绘制SD分布直方图、单变量SD散点图、标准化差异变化线图。
在Output Datasets下勾选Paired dataset by “matched_id”,在Include下选择Matched cases,并在Balance Statistics下选择Detailed – by Exact Matching variables。
4. 点击Nearest Neighbor选项
在Match Ratio下选择Match 1: many,并设定匹配数量n,一般n不超过4,否则容易出现过度匹配的现象。本例中以设定1:2为例进行匹配。Matching order下拉框选择Random。
5. 点击OK完成操作。
三、结果解读
1. 样本匹配结果
结果显示,SPSS生成了一个新的已完成匹配的数据文件,其中包含病例组21人,对照组39人,我们发现两组人群约为1:2,但并非是绝对的1:2匹配,这是因为有些病例未能同时找到有效匹配的对照人群。
2. 匹配后的均衡性度量
在输出结果“Relative multivariate imbalance L1”中,L1 measure统计量理论上介于0~1之间,匹配前和匹配后相比,L1 measure统计量越小,提示匹配效果越好。在本例研究中,匹配后的L1 measure统计量为0.643,远小于匹配前的0.808,提示匹配良好。
3. 显示匹配后不均衡的变量
在输出结果“Summary of unbalanced covariates”中,若|d|>0.25,则提示变量存在不均衡性。在本例研究中,结果显示没有变量|d|>0.25,提示匹配后所有匹配的变量都达到了平衡。
4. 匹配后均衡性比较
对于匹配后的协变量均衡性比较应该遵守两个原则:
① 评价方法应该是针对样本而不是总体
仔细想想,倾向性评分匹配实际上是从一个随机获得的有代表性样本中再“挑”出一部分进行分析,这时候再去通过“挑出来样本”去推断最开始的总体,显然已经不合适啦。
② 评价指标应该与样本量大小无关
为啥呢?想想看看,我们前面提到的匹配比例可以从1:1设定到1:4(事实上可以任意无限大设置,但是考虑匹配效率,推荐不要超过1:4),如果某个评价指标和样本量有关,那极有可能会遇到不同样本量下完全不一样的比较结果。
综上,你脑海里第一反应的t检验或者卡方检验在这里已经不合适了。当然,还有其他常见的可用于协变量均衡性比较的指标,比如说C统计量等,也是存在很多缺点的(想要进一步了解这方面的内容,推荐大家一篇综述[1])。
有小伙伴要问啦,这个方法也不行,那个也不行,到底用啥方法评价均衡性?别急,方法还是有的。在倾向性评分匹配后的均衡性比较中,推荐大家使用标准差异(Standardized difference)。一般而言,标准差异绝对值小于10%时,可认为组间均衡性较好。具体计算公式如下:
再回到本例中,SPSS在结果中输出了Detailed Balance表格,展示了各个变量匹配前后的均值、标准差和标准差异等信息,结果显示CHD组和对照组的年龄、BMI的标准差异绝对值分别为12.2%和3.7%。由于性别为分类变量,匹配后根据上述公式计算其标准差异绝对值为0.83%。
按照上面提到的10%的标准,性别和BMI匹配后在两组中均衡性较好,但是年龄就差点儿,这也说明倾向性评分匹配也不是万能的,如果两组没有足够“重叠的部分”(比如说一个不太恰当的例子,某慢病人群和体检中心健康人群进行匹配,前者年龄一般会比后者大不少,想要保证两组匹配后年龄均衡可比,自然是难度大大的),匹配的结果也不会非常理想。
以上仅是举例,重在方法操作。再回过头来,瞅瞅组间LDL-C水平(表2)。结果显示,匹配后的CHD组LDL-C水平高于对照组,组间差异明显缩小了不少,但是获得了一个比较“干净”的效应,提示LDL-C可能是CHD发生的一个危险因素。为了进一步确定LDL-C水平对CHD发生风险的效应大小,可以根据我们前期推送的教程《SPSS实例教程 | 1:m匹配病例对照Logistic回归》,来进行更加深入的分析和探讨。
表2. 倾向性评分匹配前后两组LDL-C比较结果
5. 图形输出结果
5.1 SD分布直方图
若匹配后的标准差异集中在0附近,可以提示匹配达到了较好的效果。
5.2 标准化差异变化线图和单变量SD散点图
这两个图的点值与上述Detailed Balance表格中的值是相对应的,均展示了匹配前后,各个协变量标准差异的变化。标准化差异变化线图显示,匹配后各个协变量标准差异均明显降低,单变量SD散点图显示匹配后标准差异基本集中在0附近,提示变量达到了均衡,匹配效果良好,可以结合Detailed Balance表格进行辅助判断。
我们通过两期的内容向大家详细介绍了在SPSS中实现1:n倾向性评分匹配的功能,在学习统计学的道路上又get了一项高大上的新技能,如果大家在实操的过程中还遇到什么问题,欢迎在下方留言讨论哈!
参考文献
1. J Clin Epidemiol. 2015; 68:112-21.
更多阅读
关注医咖会,轻松学习统计学~
快加小咖个人微信(xys2016ykf),拉你进统计讨论群和众多热爱研究的小伙伴们一起交流学习。
点击左下角“阅读原文”,看看医咖会既往推送了哪些统计教程。或者使用电脑打开网址:http://www.mediecogroup.com/,查看60种SPSS教程。